Method and apparatus for developing an electronic game using automatic user feedback

ABSTRACT

A method which enables game developers to capture user actions and to automatically solicit user feedback as game events occur, so that game developers can then use this data to “tune” the game to improve a user&#39;s experience is disclosed herein. To develop game data, function calls and user inputs are recorded in a log file. Also, players can provide feedback on game play after predetermined events occur (e.g., player finishes level) or through a pause menu. By allowing a development team to better understand a user&#39;s experience in game play, the game can be tuned to improve the user&#39;s experience.

TECHNICAL FIELD

The following disclosure relates generally to electronic games and, moreparticularly, to an automated process for capturing user actions inelectronic games to assist in game development.

BACKGROUND

Current methods for gauging user feedback for electronic games require auser to play a game, relay game feedback to an interviewer, and have theinterviewer tell a game developer what improvements need to be made tothe game to improve user experience. As used herein, the term electronicgame refers to any game that is played on an electronic device. Theseinclude, without limitation, console-consoled based games such as Xboxor Playstation, PC games intended for play on a computer, handheldgames, games for mobile phones or PDA's, and the like.

For example, in the prior art, a group of users may be placed in a roomand asked to play a “level” of a game. Once the users have completed thelevel, they are asked one or more survey questions regarding their userexperience. When the survey questions have been answered, the data iscompiled and placed into a text editing program, such as Microsoft Word.The interviewer then typically makes subjective observations based onuser feedback. Responses to the survey questions are then modified intoa useful format for game developers to review. The game developers canthen analyze the feedback and determine areas of the game that may needmodification, such as particularly difficult portions of the game.

The example above illustrates many of the problems associated withcurrent implementations of user feedback for electronic games. The aboveimplementation only allows for subjective feedback from users. Thesurvey questions gather subjective feedback from a user, such as whatthe user thought about the difficulty of a level, as opposed toobjective feedback, such as the exact point in the game where a userdied and what button presses led up to that event. Although subjectivefeedback may be useful, it may be difficult to use subjective feedbackto make objective changes to a game. In addition, the pool of userssurveyed is often too small to be able to make broad generalizationsabout the game. The narrow scope of user experience tends to hinder theefforts of game developers. Also, the fact that the survey results aremodified to be in the correct format and manually placed into a databasecreates a less efficient process. In addition, game developers mustmanually search the database for the information they want, a task thatconsumes more time and detracts from efficiency.

SUMMARY

The following disclosure describes a tool for better understanding auser's initial experiences when playing an electronic game, and thenusing that data to ‘balance’ the electronic game and to design a betteroverall experience. This tool, which can be applied to nearly allelectronic games, can be used to identify specific areas in the game inneed of improvement (such as difficulty of a level) in order to increasethe user's overall enjoyment of the product.

The method automatically captures a user's actions and their individualfeedback as the events occur. The steps include collecting player datain a log file, moving the log file from the electronic device to a datastorage device, such as a server, parsing the log file, placing theparsed data into a database, and retrieving the desired data from thedatabase. This information can then be reviewed in an understandableformat within minutes of the data being collected, essentially takingsubjective data and making it measurable. This allows the game developerto make informed decisions based on measurable data to determine whatchanges need to be made to achieve the desired ‘balance’ or difficultyfor the game.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram illustrating one type of electronic gamingsystem on which computer games, video games and/or other electronicgames can be implemented in accordance with several embodiments of theinvention.

FIG. 2 is a block diagram illustrating functional components of thegaming system of FIG. 1 configured in accordance with an embodiment ofthe invention.

FIG. 3 is a schematic diagram illustrating a data flow for a method inaccordance with the present invention.

FIG. 4 is a flow diagram illustrating a method by which a user cantrigger the transmission of log files to a database.

FIG. 5 is a flow diagram illustrating a method for developing a gamebased on user feedback.

DETAILED DESCRIPTION

The following disclosure describes several embodiments of systems andmethods for electronic games. Specific details of several embodiments ofthe invention are described below to provide a thorough understanding ofsuch embodiments. However, other details describing well-knownstructures and routines often associated with electronic games are notset forth below to avoid unnecessarily obscuring the description of thevarious embodiments. Further, those of ordinary skill in the art willunderstand that the invention may have other embodiments that includeadditional elements or lack one or more of the elements described belowwith reference to FIGS. 1-3.

In the Figures, identical reference numbers identify identical or atleast generally similar elements. To facilitate the discussion of anyparticular element, the most significant digit or digits of anyreference number refer to the Figure in which that element is firstintroduced.

It is intended that the terminology used in the description presentedbelow be interpreted in its broadest reasonable manner, even though itis being used in conjunction with a detailed description of certainspecific embodiments of the invention. Certain terms may even beemphasized below; however, any terminology intended to be interpreted inany restricted manner will be overtly and specifically defined as suchin this Detailed Description section.

Certain embodiments of methods and systems for electronic games aredescribed below in the context of computer-executable instructionsperformed by a game console or a general-purpose computer, such as apersonal computer. In one embodiment, for example, thesecomputer-executable instructions can be stored on a computer-readablemedium, such as a hard disk, a floppy disk, or a CD-ROM. In otherembodiments, these instructions can be stored on a server computersystem and accessed via a computer network such as an intranet or theInternet. Because the basic structures and functions related tocomputer-executable routines and corresponding computer implementationsystems are well known, they have not been shown or described in detailhere to avoid unnecessarily obscuring the described embodiments.

FIG. 1 is a schematic diagram illustrating a suitable gaming system 100on which computer games, video games and/or other electronic games canbe implemented in accordance with several embodiments of the invention.In one aspect of this embodiment, the gaming system 100 includes aplurality of controllers 104 (identified individually as a firstcontroller 104 a and a second controller 104 b) operably connected to agame console 102. The controllers 104 can be connected to the gameconsole 102 via a wired or wireless interface. For example, in theillustrated embodiment, the controllers 104 are universal serial bus(USB) compatible and are connected to the console 102 via serial cables130 received in sockets 110. The controllers 104 can be equipped with awide variety of user-interaction mechanisms. For example, in theillustrated embodiment, each controller 104 includes two thumbsticks 132a and 132 b, a D-pad 134, various buttons 136, and correspondingtriggers 138. The foregoing mechanisms are merely illustrative of thevarious types of user-interaction mechanisms that can be included withthe controllers 104. Accordingly, in other embodiments, othercontrollers can include more or fewer such mechanisms without departingfrom the spirit or scope of the present disclosure.

Each of the controllers 104 can be configured to accommodate twoportable memory units 140 for portable storage capability. The memoryunits 140 enable users to store game parameters and import them for playon other game consoles. In the illustrated embodiment, each controller104 is configured to accommodate two memory units 140. In otherembodiments, however, suitable controllers can be configured toaccommodate more or fewer memory units.

The game console 102 can include a plurality of cables for connection tosupporting systems. For example, the game console 102 can be operablyconnected to a television or display 150 via audio visual interfacecables 120. In addition, a power cable 122 can provide power to the gameconsole 102. Further, a cable or modem connector 124 can facilitateinformation exchange between the game console 102 and a network, such asthe Internet, for broadband data transmission.

The game console 102 can be equipped with an internal hard disk drive(not shown) and a portable media drive 106. The portable media drive 106can be configured to support various forms of portable storage media asrepresented by an optical storage disk 108. Examples of suitableportable storage media can include DVD and CD-ROM game disks and thelike. The game console 102 can further include a power button 112 and aneject button 114. Depressing the eject button 114 alternately opens andcloses a tray associated with the portable media device 106 to allowinsertion and extraction of the storage disk 108.

The gaming system 100 enables players and other users to enjoy variousforms of entertainment including games, music, and videos. With thedifferent storage options available, such media can be played from thehard disk drive, the portable media drive 106, the memory units 140, oran online source. For example, the gaming system 100 is capable ofplaying music from a CD inserted in the portable media drive 106, from afile on the hard disk drive, or from an online streaming source.Similarly, the gaming system 100 can also play a digital audio/videogame from a DVD disk inserted in the portable media drive 106, from afile on the hard disk drive (e.g., a file in Active Streaming Format),or an online streaming source.

The gaming system 100 is but one example of a suitable system forimplementing embodiments of the invention. Accordingly, the methods andsystems disclosed herein are not limited to implementation on the gamingsystem 100, but extend to numerous other general or special purposecomputing systems or configurations. Examples of well-known computingsystems, environments, and/or configurations that may be suitable foruse with aspects of the invention include personal computers (PCs),server computers, portable and hand-held devices such as personaldigital assistants (PDAs), laptop and tablet PCs, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, mini-computers, mainframe computers,electronic game consoles, and distributed computing environments thatinclude one or more of the above systems or devices.

FIG. 2 is a block diagram illustrating functional components of thegaming system 100 configured in accordance with an embodiment of theinvention. In one aspect of this embodiment, the game console 102includes a central processing unit (CPU) 200 and a memory controller202. The memory controller 202 can facilitate processor access tovarious types of memory. Such memory can include a flash Read OnlyMemory (ROM) 204, a Random Access Memory (RAM) 206, a hard disk drive208, and the portable media drive 106. The CPU 200 can be equipped witha level one cache 210 and a level two cache 212 to temporarily storedata and reduce the number of necessary memory access cycles, therebyimproving processing speed and throughput. The CPU 200, the memorycontroller 202, and the various memory devices described above areinterconnected via one or more buses, such as serial and parallel buses,memory buses, peripheral buses, and/or processor or local buses usingany of a variety of bus architectures. Such architectures can include,for example, an Industry Standard Architecture (ISA), a Micro ChannelArchitecture (MCA), an enhanced ISA (EISA), a Video ElectronicsStandards Association (VESA) local bus architecture, and a PeripheralComponent Interconnects (PCI) bus architecture also known as a mezzaninebus architecture.

In one embodiment, the CPU 200, memory controller 202, ROM 204, and RAM206 can be integrated into a common module 214. In this embodiment, theROM 204 is configured as a flash ROM that is connected to the memorycontroller 202 via a PCI bus and a ROM bus (neither of which is shown).The RAM 206 can be configured as a multiple Double Data Rate SynchronousDynamic RAM (DDR SDRAM) that is independently controlled by the memorycontroller 202 via separate buses (not shown). The hard disk drive 208and portable media drive 106 can be connected to the memory controller202 via the PCI bus and an AT attachment (ATA) bus 216.

In the illustrated embodiment, a 3D graphics processing unit 220 and avideo encoder 222 can form a video processing pipeline for high speedand high resolution graphics processing. Data can be carried from thegraphics processing unit 220 to the video encoder 222 via a digitalvideo bus (not shown). An audio processing unit 224 and an audio codec(coder/decoder) 226 can form a corresponding audio processing pipelinewith high fidelity and stereo processing. Audio data can be carriedbetween the audio processing unit 224 and the audio codec 226 via acommunication link (not shown). The video and audio processing pipelinesoutput data to an audio/video (A/V) port 228 for transmission to thedisplay 150. In the illustrated embodiment, the video and audioprocessing components 220-228 are mounted on the module 214.

A USB host controller 230 and a network interface 232 can also beimplemented on the module 214. The USB host controller 230 can becoupled to the CPU 200 and the memory controller 202 via a bus (e.g., aPCI bus), and serves as a host for peripheral controllers 104 a-104 d.The network interface 232 can provide access to a network (e.g., theInternet, a home network, etc.) and may be any of a wide variety of wireor wireless interface components including an Ethernet card, a modem, aBluetooth module, a cable modem, and the like.

The game console 102 can include dual controller port subassemblies 240a and 240 b, and each subassembly can support two correspondingperipheral controllers 104 a-104 d. A front panel I/O subassembly 242supports the functionality of the power button 112 and the eject button114, as well as any light emitting diodes (LEDs) or other indicatorsexposed on the outer surface of the game console 102. The subassemblies240 a, 240 b, and 242 are coupled to the module 214 via one or morecable assemblies 244.

Eight memory units 140 a-140 h are illustrated as being connectable tothe four controllers 140 a-140 d in a two memory units per controllerconfiguration. Each memory unit 140 offers additional storage on whichgames, game parameters, and other data may be stored. When inserted intoa controller, the memory unit 140 can be accessed by the memorycontroller 202. A system power supply module 250 can provide power tothe components of the gaming system 100, and a fan 252 can cool thecircuitry within the game console 102.

The game console 102 described above can implement a uniform mediaportal model that provides a consistent user interface and navigationhierarchy to move users through various entertainment areas. The portalmodel offers a convenient way to access multiple different types ofmedia content including game data, audio data, and video data regardlessof the media type inserted into the portable media drive 106.

To implement the uniform media portal model, a console user interface(UI) application 260 is stored on the hard disk drive 208. When the gameconsole is powered on, various portions of the console application 260are loaded into RAM 206 and/or caches 210, 212 and executed on the CPU200. The console application 260 presents a graphical user interfacethat provides a consistent user experience when navigating to differentmedia types available on the game console. Aspects of the UI applicationand some of the exemplary screen displays it presents are describedbelow in more detail.

The gaming system 100 may be operated as a standalone system by simplyconnecting the system to the display 150. In the standalone mode, thegaming system 100 allows one or more players operating the controllers104 to play games and view them on the display 150. With the broadbandconnectivity made possible via the network interface 232, however, thegaming system 100 can also be operated in a larger, network-based gamingcommunity.

FIG. 3 illustrates the data flow for a method formed in accordance withone embodiment of the present invention. FIG. 3 illustrates a gameconsole 310, a file server 314, a folder watcher 318, a file parser 322,and a SQL server 326. The SQL server 326 can be accessed by varioussoftware applications, such as a spreadsheet application (e.g. MicrosoftExcel) 332 or a web based SQL application 334. The game console 310includes a controller routine or module 302, upload code unit 308, andlog files 306. The log files may be stored, for example, on the harddisk drive 208 of the game console of FIG. 2.

In one embodiment, the controller routine 302 is referred to as an XboxController Recorder (XCR). The function of the controller routine 302 isto identify controller inputs and to transmit a set of log levels andevents 304 to log files 306 stored within game console 310. The types ofspecific user input that are captured by the log files 306 can varydepending upon the particular implementation. In the broadest sense, thecontroller routine 302 is adapted to record all of the user inputs viathe controllers 104. In other applications, perhaps only select inputsare recorded. Along with the user inputs being recorded, an indicationas to the game context of the user input is captured. This may includethe location of the player within the game, the current game situation,etc. Note that the term “log file” as used herein is intended to includeany type of electronic recordation of information and should not beconstrued to be overly limiting.

For example, the controller routine 302 may be adapted to recordfunction calls. Function calls are those actions triggered either by theuser or automatically by the game software that causes the game toperform some action. For example, function calls typically identifyevents in a game. These function calls can be output to the log files306.

The log files 306 utilize upload code 308 to initiate a game console 310initiated upload 312 to file server 314. In one embodiment, the gameconsole 310 automatically initiates the upload of the log files 306 tofile server 314. The uploading of the log files 306 may be doneperiodically or based on some other trigger, such as completion of alevel in the game. In other embodiments, the file server 314 may beconfigured to periodically and automatically poll the game console 310to upload the log files 306.

Log files 306, which are created for each gaming session, have certainrequirements in one embodiment. Each log file 306 is given a unique namebased on the game console name and the time and date that the file wascreated. In addition, in one embodiment, each log file 306 contains aheader consisting of the game name, build name (includes build numberand name identifying where the data was collected—e.g., playtest, deepgame play), game console name, IP (Internet Protocol) address (if thegame console is networked over the Internet), and time stamp. Each logfile 306 also contains a write log value, which refers to an action orevent, with the coordinate location of the event and time stamp,including but not limited to all button presses, objects pickedup/dropped, avatar/character death, health increase/decrease,level/skill increase or decrease, and others as defined by a gamedevelopment team.

In one embodiment, log file 306 can be created based on function callsmade in the game and inputs from a game controller. For instance, eachtime a player presses the “A” button (using an Xbox controller as anexample) on the controller to cause an avatar to jump, the press of the“A” button is recorded in the log file 306 in conjunction with thecoordinates identifying where the player pressed the “A” button.Further, function calls, such as a character's death, can be capturedalong with the location and time where it happened. Some of theinformation captured in the log file 306 is standard, such as the use ofbuttons on the controllers, but function calls for events in the gamethat are captured will often need to be identified by the gamedeveloper.

Still, referring to FIG. 3, folder watcher 318 (which in one embodimentmay be a software process) monitors the appropriate “folder” on the fileserver 314. Once the log files 306 are pushed to the file server 314,the folder watcher 318 notifies generic log file parser 322 and passeslog files 320 to the generic log file parser 322. The log files 306 aregenerated in a generic format that allows the generic log file parser322 to identify the event or state that is recorded on each line, aswell as the data that is associated with the event or state. The genericlog file parser 322 inserts data 324 into an SQL (Structured QueryLanguage) server 326, though other types of databases may be used. TheSQL server 326 generates standard web reports 330 in the form of webbased SQL reports 334. The SQL server 326 also generates customizablereports (pivot tables) 328 in MS Excel 332 format. It should be notedthat other formats for presentation of the data are also possible.

The reports 332 or 334 from the SQL server 326 consist of at least twotypes of information. The first type of information identifies eachlevel or area of the game and the unique identifier to a log name. Thesecond type of information consists of all the events that were loggedout for that particular level/area. If a game developer wishes to begintracking of additional events when the new event is identified by thegeneric log file parser 322, the new event will be added.

In one embodiment, a software application referred to as “SQL ReportingServices” is used to display the reports for the data collected. SQLReporting Services is a layer that sits atop the SQL server 326 andpresents the information in a web based format. This allows the gamedeveloper to review the data using a web browser, such as MicrosoftInternet Explorer. Further, the data can be exported in a variety offormats, such as an html file, Word file, or Excel file.

To illustrate how the above described system may be used, FIG. 4illustrates a method by which a user can automatically trigger thetransmission of log files to a database. In the embodiment of FIG. 4, auser at box 402 activates an event trigger point, such as a character'sdeath or the completion of a level. At box 406, the log file that hasbeen recording user inputs leading up to the event trigger point isautomatically transmitted to a database at box 412 for storage andsubsequent retrieval. Once the event trigger point at box 402 has beenactivated, a feedback survey at box 404 with predetermined options for aplayer to choose from presents itself to the user. If the user choosesnot to answer the feedback survey at box 404, the user can return togame play at box 410. If the user chooses to answer the feedback surveyat box 404 by selecting one of the feedback options on the screen (on anXbox, this can be accomplished using a thumbstick and pressing the “A”button to record their selection), then a survey log file at box 408 isgenerated which records the user's responses to the feedback survey atbox 404. The survey log file is transmitted to the database at box 412for storage and subsequent retrieval. The game returns to its normaloperation following the transmission of the survey log file. The aboveembodiment illustrates one such way in which log files can betransmitted to a database and is not meant to be all encompassing ordefinitive. Other options could be presented or available at any of theabove mentioned steps.

In one embodiment, a predetermined event, such as an avatar's death orthe completion of a level, prompts the user to answer survey questionson a feedback screen. The user can move forward in the game only if theuser responds to the survey questions in this particular embodiment. Ifthe user does not respond to the survey questions, then the user cannotmove forward in the game. Preventing the user from moving forward untilsurvey questions have been answered may entail prompting andre-prompting the survey questions until the user answers them.

In an alternative embodiment, the user can press the “back or B button”(in the case of an Xbox controller) to bring up a menu screen thatallows them to enter predetermined feedback at anytime they wish. Theuser can press the “B” button (in the case of an Xbox controller) tocancel the screen, returning them to normal game play, or the player canpress the thumbstick and the “A” button (in the case of an Xboxcontroller) to select one of the feedback options which then returnsthem to the game. In another embodiment, the user can select a pausemenu to direct them to a feedback survey at box 404. The aboveembodiments illustrate examples of ways in which users can prompt afeedback survey and is not meant to be all encompassing or definitive.Other options could be presented or available at any of the abovementioned steps.

In one embodiment, the feedback options can be stored in a text filethat will be included with the game. These text files can be edited toallow for easy changes to the feedback options. Each event (includingthe optional Back Button use in the case of an Xbox controller) willhave its own text file for feedback options. In this manner, each eventcan have a different set of player feedback options available.

In one embodiment, a software program for implementing the feedbacksurvey, event log file, and survey log file is embedded into the gamesoftware itself. If the game comes in the form of a CD (compact disc) ora DVD (digital video disk), then the software program can be embeddedinto the CD or DVD.

In one embodiment, the user is not aware that anything is technicallytaking place. The user is unaware that their button presses on acontroller or keyboard are being recorded in a log file that isautomatically transmitted to a database. The user can approve the use ofa log file by signing an End-User Licensing Agreement. The game console,and not a computer, initiates the automatic upload of the log files fromthe game console to a server, assuming connection to a network or othercommunications medium. Game console initiated uploads allow for theautomation of the data gathering process.

FIG. 5 illustrates a method for developing a game based on userfeedback. As stated above, a user at box 402 activates an event triggerpoint, such as a character's death or the completion of a level, at box406, an event log file is generated that is automatically transmitted toa database at box 412 for storage. In one embodiment, the event triggerpoint prompts a feedback survey at box 404. Answers to the feedbacksurvey generate a survey log file at box 408 which is stored in thedatabase. Storage of event log files and survey log files in thedatabase facilitates the process of data retrieval at box 502. Once datahas been retrieved, data analysis at box 504 can be performed todecipher ways to improve the gaming experience. From this data analysisat box 504, the process of game modification at box 506 can beundertaken to improve user experience based on user feedback.

User feedback that is driven by events within the game allows gamedevelopers to utilize objective data to improve user experience. Forinstance, if there is a particular level within a game that many usersare failing, game developers can retrieve event log files from thedatabase that can objectively indicate, for instance, that a certainpercentage of users failed on a particular level of a game. Thisobjective data, gathered from log files, can be used to analyze where inthe game that users are getting frustrated and to improve the design inthat particular area of the game. Data gathered from both the event logfiles and the survey log files can be combined to provide a morethorough view of the user's experience to the game developers. This, inturn, allows game developers to improve user experience using concrete,objective data gathered from the game itself. The process of developinga game based on gathering user feedback, analyzing the data, andmodifying the game based upon that data provides an objective means forthe game developer to improve a user's experience.

The above mentioned examples represent sample use cases meant toillustrate some of the ways that the present invention might functionfor the given scenarios and is not meant to be all encompassing ordefinitive. Other options could be presented or available at any of theabove mentioned steps.

The above detailed descriptions of embodiments of the invention are notintended to be exhaustive or to limit the invention to the precise formdisclosed above. While specific embodiments of, and examples for, theinvention are described above for illustrative purposes, variousequivalent modifications are possible within the scope of the invention,as those skilled in the relevant art will recognize.

Words in the above Detailed Description using the singular or pluralnumber may also include the plural or singular number respectively,where the context permits. Additionally, the words “herein,” “above,”“below,” and words of similar import, when used in this application,shall refer to this application as a whole and not to any particularportions of this application. When the claims use the word “or” inreference to a list of two or more items, that word covers all of thefollowing interpretations of the word: any of the items in the list, allof the items in the list, and any combination of the items in the list.

The teachings of the invention provided herein can be applied to othersystems, not necessarily the system described herein. These and otherchanges can be made to the invention in light of the detaileddescription. The elements and acts of the various embodiments describedabove can be combined to provide further embodiments.

These and other changes can be made to the invention in light of theabove detailed description. While the above description details certainembodiments of the invention and describes the best mode contemplated,no matter how detailed the above appears in text, the invention can bepracticed in many ways. Details of configurations, functions, etc. mayvary considerably in implementation details, while still beingencompassed by the invention disclosed herein. As noted above,particular terminology used when describing certain features, or aspectsof the invention should not be taken to imply that the terminology isbeing re-defined herein to be restricted to any specificcharacteristics, features, or aspects of the invention with which thatterminology is associated. In general, the terms used should not beconstrued to limit the invention to the specific embodiments disclosedin the specification, unless the above Detailed Description sectionexplicitly defines such terms. Accordingly, the actual scope of theinvention encompasses not only the disclosed embodiments, but also allequivalent ways of practicing or implementing the invention.

1. A method for soliciting feedback from a user within an electronicgame, the method comprising: displaying a feedback screen after apredetermined event occurs within a game, wherein the feedback screencontains predetermined feedback options for the user to choose from;prompting the user to choose to give feedback on the game or to not givefeedback on the game; receiving a selection from the user indicating theuser's decision to provide feedback on the game; and receiving feedbackon the game on behalf of the user if a received selection indicates thatthe user wishes to provide feedback.
 2. The method of claim 1 whereindisplaying the feedback screen after the predetermined event occurswithin a game, wherein the predetermined event is an avatar's death orthe completion of a level.
 3. The method of claim 1 wherein displayingthe feedback screen includes displaying feedback options that are storedin a text file and that can be edited.
 4. The method of claim 1 whereinprompting the user to choose to give feedback includes selecting a pausemenu or selecting a back button.
 5. The method of claim 1 whereinprompting the user to choose to give feedback includes displaying thefeedback screen after predetermined events occur and after user inputsare collected in log files.
 6. The method of claim 1 wherein receiving aselection from the user includes selecting to provide feedback by usinga controller.
 7. A method for capturing user actions within anelectronic game, the method comprising: collecting a user's inputs in alog file; transferring the log file automatically from a game console toa server to facilitate subsequent retrieval and; retrieving log filesfrom the server.
 8. The method of claim 7 wherein transferring the logfile automatically from a game console to a server includesautomatically initiating an upload of the log file through the gameconsole.
 9. The method of claim 7 wherein transferring the log file froma game console to a server includes utilizing an upload code.
 10. Themethod of claim 7 wherein collecting a user's inputs in a log fileincludes creating a log file with a header containing informationpertinent to the log file.
 11. The method of claim 7 wherein collectinga user's inputs in a log file includes creating a log file based onfunction calls made in the game and inputs from a controller.
 12. Themethod of claim 7 wherein retrieving log files from the server includesthe server generating reports in different formats.
 13. A system forgauging user experience within an electronic game, the systemcomprising: means for receiving feedback from a user to gauge userexperience; means for storing feedback in log files; means forautomatically transmitting log files to a server to facilitatesubsequent retrieval and; means for retrieving log files from theserver.
 14. The system of claim 13 wherein the means for receivingfeedback from a user includes means for identifying user inputs in a logfile.
 15. The system of claim 13 wherein the means for transmitting logfiles to a server includes means for having a game console automaticallyinitiate the upload of the log files.
 16. The system of claim 13 whereinthe means for storing feedback includes means for capturing user inputsin log files.
 17. The system of claim 13 wherein the means forretrieving log files from the server includes means for generatingreports in various formats.
 18. A system comprising: a controllerrecorder that identifies controller inputs; a set of log files coupledto store user inputs from the controller recorder; and a server coupledto store user inputs in the log files.
 19. The system of claim 18,wherein the controller recorder and the log files are located within agame console.
 20. The system of claim 18, wherein the server is locatedoutside the game console.
 21. A computer-readable medium havingcomputer-executable instructions for performing steps comprising:receiving information about events from a controller; transmitting theinformation about the events to a log file; and initiating the upload ofthe log file to a server.
 22. The computer-readable medium of claim 21wherein a game console initiates the upload of the log file to theserver.
 23. The computer-readable medium of claim 21 wherein an uploadcode is sent to the server.
 24. A method for developing an electronicgame based on user feedback, the method comprising: storing log filescontaining a record of game events and user feedback in a database;retrieving log files from the database; analyzing log files to determineways to improve user experience; and modifying the game based on userfeedback to improve user experience.
 25. The method of claim 24 whereinstoring log files includes storing log files that record the eventswithin the game.
 26. The method of claim 24 wherein storing log filesincludes storing log files that record user answers to survey questionswithin the game.
 27. The method of claim 24 wherein retrieving log filesfrom the database includes retrieving information about game events anduser feedback from the database.
 28. The method of claim 24 whereinanalyzing log files includes analyzing information about game events anduser feedback from the database.
 29. A method for soliciting feedbackfrom a user within an electronic game, the method comprising: displayinga feedback screen after a predetermined event occurs within a game,wherein the feedback screen contains survey questions for the user toanswer; Allowing the user to move forward in the game only if the userresponds to the survey questions; and Preventing the user from movingforward in the game if the user does not respond to the surveyquestions.
 30. The method of claim 29 wherein displaying the feedbackscreen after the predetermined event occurs within a game, wherein thepredetermined event is an avatar's death or the completion of a level.31. The method of claim 29 wherein displaying the feedback screenincludes displaying survey questions that are stored in a text file andthat can be edited.
 32. The method of claim 29 wherein allowing the userto move forward in the game includes allowing the user to proceed to alater level or stage within the game.
 33. The method of claim 29 whereinpreventing the user from moving forward includes continuing to promptand to re-prompt the survey questions until the user answers the surveyquestions.
 34. The method of claim 29 wherein responding to the surveyquestions includes selecting answers to the survey questions using acontroller.